home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-10-17 | 1.5 KB | 90 lines | [TEXT/BROW] |
- /*
- File: DocFile.cp
-
- Contains: A simple document file
-
- Written by: Jon Summers
-
- Copyright: © 1994 by Jon Summers, all rights reserved.
-
- Change History (most recent first):
-
- */
-
- #include "DocFile.h"
- #include "AppLib.h"
-
- TDocFile::TDocFile()
- : fHasDataFork(false),
- fDataRefNum(kInvalidDataRefNum),
- fHasRsrcFork(false),
- fRsrcRefNum(kInvalidRsrcRefNum)
- {
- }
-
- TDocFile::~TDocFile()
- {
- Close();
- }
-
- void TDocFile::Close()
- {
- CloseDataFork();
- CloseRsrcFork();
- }
-
- void TDocFile::SetFSSpec(FSSpec* pFSSpec)
- {
- fSpec = *pFSSpec;
- fHasDataFork = true;
- }
-
- void TDocFile::SetForkAvail(Boolean theData, Boolean theRsrc)
- {
- fHasDataFork = theData;
- fHasRsrcFork = theRsrc;
- }
-
- void TDocFile::GetFSSpec(FSSpec* pFSSpec)
- {
- *pFSSpec = fSpec;
- }
-
- void TDocFile::OpenDataFork(char thePermission)
- {
- if (fHasDataFork)
- if ( ! ValidDataRefNum(fDataRefNum))
- {
- fErr = FSpOpenDF(&fSpec, thePermission, &fDataRefNum);
- }
- }
-
- void TDocFile::CloseDataFork()
- {
- if (fHasDataFork)
- if (ValidDataRefNum(fDataRefNum))
- (void)FSClose(kInvalidDataRefNum);
- fDataRefNum = kInvalidDataRefNum;
- }
-
- void TDocFile::OpenRsrcFork(char thePermission)
- {
- if (fHasRsrcFork)
- if ( ! ValidRsrcRefNum(fRsrcRefNum))
- {
- fRsrcRefNum = OpenRFPerm(fSpec.name, fSpec.vRefNum, thePermission);
- fErr = ResError();
- if (fErr)
- fRsrcRefNum = kInvalidDataRefNum;
- }
- }
-
- void TDocFile::CloseRsrcFork()
- {
- if (fHasRsrcFork)
- if (ValidRsrcRefNum(fRsrcRefNum))
- (void)FSClose(kInvalidRsrcRefNum);
- fRsrcRefNum = kInvalidDataRefNum;
- }
-
-